package Merlion.util.state;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class ClientState implements Serializable {

    //CLIENT ATTRIBUTES
    private Long id;
    private String name = "";
    private String companyRegId = "";
    private String contactName = "";
    private String contactNum = "";
    private String industry = "";
    private double annualRevenue = 0;
    private int numOfEmployees = 0;
    private String address = "";
    private String addressState = "";
    private String faxNum = "";
    private String website = "";
    private double rating = 0;
    private String country = "";
    private String city = "";
    private String postalCode = "";
    private String emailAddress = "";
    private String businessType = "";
    private String clientType = "";
    private Date dateCreated;
    private String description = "";
    //SALES LEAD ATTRIBUTES 
    private String firstName = "";
    private String lastName = "";
    private String mobileNum = "";
    private String status = "";
    private String salutation = "";
    private String leadSource = "";
    private String title = "";
    private String department = "";
    private Date dob;
    //CUSTOMER ATTRIBUTES
    private String custExName = "";
    private String custExId;
    private Long custEx;
    private String ownership = "";
    private String tickerSymbol = "";
    private String sicCode = "";
    //Billing Address State
    private List<AddressState> addressList;
    private Long billingId;
    private String billingStreet;
    private String billingCity;
    private String billingCountry;
    private String billingCode;
    private String billingState;
    //Shipping Address State
    private Long shippingId;
    private String shippingStreet;
    private String shippingCity;
    private String shippingCode;
    private String shippingState;
    private String shippingCountry;

    public ClientState() {
        this.setName("");
        this.setAddress("");
        this.setContactNum("");
        this.setCountry("");
        this.setCity("");
        this.setPostalCode("");
        this.setEmailAddress("");
        this.setBusinessType("");
        this.setIndustry("");
        this.setNumOfEmployees(0);
        this.setWebsite("");
        this.setMobileNum("");
        this.setFaxNum("");
        this.setDescription("No description found.");
        this.setCustExId("");
    }

    public ClientState(Long id, String name, String address, String contactNum,
            String country, String city, String postalCode, String emailAddress,
            String businessType, Long custExId) {
        this.setId(id);
        this.setName(name);
        this.setAddress(address);
        this.setContactNum(contactNum);
        this.setCountry(country);
        this.setCity(city);
        this.setPostalCode(postalCode);
        this.setEmailAddress(emailAddress);
        this.setBusinessType(businessType);
        this.setCustEx(custExId);

    }

    public void createClientState(Long id, String name, String address, String contactNum, String country,
            String city, String postalCode, String emailAddress, String businessType,
            String clientType) {
        this.setId(id);
        this.setName(name);
        this.setAddress(address);
        this.setContactNum(contactNum);
        this.setCountry(country);
        this.setCity(city);
        this.setPostalCode(postalCode);
        this.setEmailAddress(emailAddress);
        this.setBusinessType(businessType);
        this.setClientType(clientType);
    }

    // for sales lead
    public ClientState(Long id, String name, String address, String contactNum,
            String country, String city, String postalCode, String emailAddress,
            String businessType, String status) {
        this.setId(id);
        this.setName(name);
        this.setAddress(address);
        this.setContactNum(contactNum);
        this.setCountry(country);
        this.setCity(city);
        this.setPostalCode(postalCode);
        this.setEmailAddress(emailAddress);
        this.setBusinessType(businessType);
        this.setStatus(status);

    }

    //NEW//for customer
    public ClientState(Long id, String name, String industry, double annualRevenue, int numOfEmployees, String contactNum, String faxNum,
            String website, double rating, String address, String addressState, String country,
            String city, String postalCode, String emailAddress, String businessType,
            String custExId, String custExName) {
        this.setId(id);
        this.setName(name);
        this.setAddress(address);
        this.setContactNum(contactNum);
        this.setCountry(country);
        this.setCity(city);
        this.setPostalCode(postalCode);
        this.setEmailAddress(emailAddress);
        this.setBusinessType(businessType);
        this.setCustExId(custExId);
        this.setCustExName(custExName);
        this.setIndustry(industry);
        this.setAnnualRevenue(annualRevenue);
        this.setNumOfEmployees(numOfEmployees);
        this.setWebsite(website);
        this.setRating(rating);
        this.setAddressState(addressState);
        this.setFaxNum(faxNum);


    }

    //NEW//for sales lead
    public ClientState(Long id, String salutation, String firstName, String lastName,
            String name, String industry, double annualRevenue, int numOfEmployees, String contactNum, String mobileNum, String faxNum,
            String website, double rating, String address, String country,
            String city, String postalCode, String emailAddress, String businessType, String status) {
        this.setId(id);
        this.setName(name);
        this.setAddress(address);
        this.setContactNum(contactNum);
        this.setCountry(country);
        this.setCity(city);
        this.setPostalCode(postalCode);
        this.setEmailAddress(emailAddress);
        this.setBusinessType(businessType);
        this.setIndustry(industry);
        this.setAnnualRevenue(annualRevenue);
        this.setNumOfEmployees(numOfEmployees);
        this.setWebsite(website);
        this.setRating(rating);
        this.setFirstName(firstName);
        this.setLastName(lastName);
        this.setStatus(status);
        this.setMobileNum(mobileNum);
        this.setFaxNum(faxNum);
        this.setSalutation(salutation);
    }

    public Long getCustEx() {
        return custEx;
    }

    public void setCustEx(Long custEx) {
        this.custEx = custEx;
    }

    public String getCompanyRegId() {
        return companyRegId;
    }

    public void setCompanyRegId(String companyRegId) {
        this.companyRegId = companyRegId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        if (description.equals("")) {
            description = "No description found.";
        }
        this.description = description;
    }

    public Date getDob() {
        return dob;
    }

    public void setDob(Date dob) {
        this.dob = dob;
    }

    public Long getBillingId() {
        return billingId;
    }

    public void setBillingId(Long billingId) {
        this.billingId = billingId;
    }

    public Long getShippingId() {
        return shippingId;
    }

    public void setShippingId(Long shippingId) {
        this.shippingId = shippingId;
    }

    public String getContactName() {
        return contactName;
    }

    public void setContactName(String contactName) {
        this.contactName = contactName;
    }

    public String getSalutation() {
        return salutation;
    }

    public void setSalutation(String salutation) {
        this.salutation = salutation;
    }

    public String getLeadSource() {
        return leadSource;
    }

    public void setLeadSource(String leadSource) {

        this.leadSource = leadSource;
    }

    public Date getDateCreated() {
        return dateCreated;
    }

    public void setDateCreated(Date dateCreated) {
        this.dateCreated = dateCreated;
    }

    public String getClientType() {
        return clientType;
    }

    public void setClientType(String clientType) {
        this.clientType = clientType;
    }

    public double getAnnualRevenue() {
        return annualRevenue;
    }

    public void setAnnualRevenue(double annualRevenue) {
        this.annualRevenue = annualRevenue;
    }

    public String getFaxNum() {
        return faxNum;
    }

    public void setFaxNum(String faxNum) {
        if (faxNum.equals("")) {
            faxNum = " ";
        }
        this.faxNum = faxNum;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        if (firstName.equals("")) {
            firstName = " ";
        }
        this.firstName = firstName;
    }

    public String getIndustry() {
        return industry;
    }

    public void setIndustry(String industry) {
        /* if(industry.equals("")){
        industry = "-";
        }*/
        this.industry = industry;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        if (lastName.equals("")) {
            lastName = " ";
        }
        this.lastName = lastName;
    }

    public String getMobileNum() {
        return mobileNum;
    }

    public void setMobileNum(String mobileNum) {
        if (mobileNum.equals("")) {
            mobileNum = " ";
        }
        this.mobileNum = mobileNum;
    }

    public int getNumOfEmployees() {
        return numOfEmployees;
    }

    public void setNumOfEmployees(int numOfEmployees) {
        this.numOfEmployees = numOfEmployees;
    }

    public double getRating() {
        return rating;
    }

    public void setRating(double rating) {
        this.rating = rating;
    }

    public String getWebsite() {
        return website;
    }

    public void setWebsite(String website) {
        if (website.equals("")) {
            website = " ";
        }
        this.website = website;
    }

    /* public CustomerExecutiveEntity getCustEx() {
    return custEx;
    }
    
    public void setCustEx(CustomerExecutiveEntity custEx) {
    this.custEx = custEx;
    }*/
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public String getCustExId() {
        return custExId;
    }

    public void setCustExId(String custExId) {
        this.custExId = custExId;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        if (address.equals("")) {
            address = " ";
        }
        this.address = address;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        if (city.equals("")) {
            city = " ";
        }
        this.city = city;
    }

    public String getContactNum() {
        return contactNum;
    }

    public void setContactNum(String contactNum) {
        if (contactNum.equals("")) {
            contactNum = " ";
        }
        this.contactNum = contactNum;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        if (country.equals("")) {
            country = " ";
        }
        this.country = country;
    }

    public String getEmailAddress() {
        return emailAddress;
    }

    public void setEmailAddress(String emailAddress) {
        if (emailAddress.equals("")) {
            emailAddress = " ";
        }
        this.emailAddress = emailAddress;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {

        this.name = name;
    }

    public String getPostalCode() {
        return postalCode;
    }

    public void setPostalCode(String postalCode) {
        if (postalCode.equals("")) {
            postalCode = " ";
        }
        this.postalCode = postalCode;
    }

    public String getCustExName() {
        return custExName;
    }

    public void setCustExName(String custExName) {
        /*  if(custExName.equals("")){
        custExName = " ";
        }*/
        this.custExName = custExName;
    }

    public String getAddressState() {
        return addressState;
    }

    public void setAddressState(String addressState) {
        if (addressState.equals("")) {
            addressState = " ";
        }
        this.addressState = addressState;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        if (department.equals("")) {
            department = " ";
        }
        this.department = department;
    }

    public String getOwnership() {
        return ownership;
    }

    public void setOwnership(String ownership) {
        /*if(ownership.equals("")){
        ownership = " ";
        }*/
        this.ownership = ownership;
    }

    public String getSicCode() {
        return sicCode;
    }

    public void setSicCode(String sicCode) {
        if (sicCode.equals("")) {
            sicCode = " ";
        }
        this.sicCode = sicCode;
    }

    public String getTickerSymbol() {
        return tickerSymbol;
    }

    public void setTickerSymbol(String tickerSymbol) {
        if (tickerSymbol.equals("")) {
            tickerSymbol = " ";
        }
        this.tickerSymbol = tickerSymbol;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        if (title.equals("")) {
            title = " ";
        }
        this.title = title;
    }

    public String getBillingCity() {
        return billingCity;
    }

    public void setBillingCity(String billingCity) {
        if (billingCity.equals("")) {
            billingCity = " ";
        }
        this.billingCity = billingCity;
    }

    public String getBillingCode() {
        return billingCode;
    }

    public void setBillingCode(String billingCode) {
        if (billingCode.equals("")) {
            billingCode = " ";
        }
        this.billingCode = billingCode;
    }

    public String getBillingCountry() {
        return billingCountry;
    }

    public void setBillingCountry(String billingCountry) {
        if (billingCountry.equals("")) {
            billingCountry = " ";
        }
        this.billingCountry = billingCountry;
    }

    public String getBillingState() {
        return billingState;
    }

    public void setBillingState(String billingState) {
        if (billingState.equals("")) {
            billingState = " ";
        }
        this.billingState = billingState;
    }

    public String getBillingStreet() {
        return billingStreet;
    }

    public void setBillingStreet(String billingStreet) {
        if (billingStreet.equals("")) {
            billingStreet = " ";
        }
        this.billingStreet = billingStreet;
    }

    public String getShippingCity() {
        return shippingCity;
    }

    public void setShippingCity(String shippingCity) {
        if (shippingCity.equals("")) {
            shippingCity = " ";
        }
        this.shippingCity = shippingCity;
    }

    public String getShippingCode() {
        return shippingCode;
    }

    public void setShippingCode(String shippingCode) {
        if (shippingCode.equals("")) {
            shippingCode = " ";
        }
        this.shippingCode = shippingCode;
    }

    public String getShippingCountry() {
        return shippingCountry;
    }

    public void setShippingCountry(String shippingCountry) {
        if (shippingCountry.equals("")) {
            shippingCountry = " ";
        }
        this.shippingCountry = shippingCountry;
    }

    public String getShippingState() {
        return shippingState;
    }

    public void setShippingState(String shippingState) {
        if (shippingState.equals("")) {
            shippingState = " ";
        }
        this.shippingState = shippingState;
    }

    public String getShippingStreet() {
        return shippingStreet;
    }

    public void setShippingStreet(String shippingStreet) {
        if (shippingStreet.equals("")) {
            shippingStreet = " ";
        }
        this.shippingStreet = shippingStreet;
    }

    public List<AddressState> getAddressList() {
        return addressList;
    }

    public void setAddressList(List<AddressState> addressList) {
        this.addressList = addressList;
    }
}
